package encontrar;

/**
 *
 * @author Gláucio
 */
public class Token implements Comparable {

  public enum Tipo {

    ViaPosicao, Via, Sentido, Status, ENTRE, E, ATE, DA, DE, DO, KM, DESDE
  }
  private String valor;
  private Tipo tipo;
  private int posicao;
  private int tamanho;

  public Token(String valor, Tipo tipo, int posicao, int tamanho) {
    this.valor = valor;
    this.tipo = tipo;
    this.posicao = posicao;
    this.tamanho = tamanho;
  }

  public Tipo getTipo() {
    return tipo;
  }

  public void setTipo(Tipo tipo) {
    this.tipo = tipo;
  }

  public String getValor() {
    return valor;
  }

  public void setValor(String valor) {
    this.valor = valor;
  }

  public int getPosicao() {
    return posicao;
  }

  public void setPosicao(int posicao) {
    this.posicao = posicao;
  }

  public int getTamanho() {
    return tamanho;
  }

  public void setTamanho(int tamanho) {
    this.tamanho = tamanho;
  }

  @Override
  public int compareTo(Object o) {
    Token t = (Token) o;
    if (this.posicao < t.posicao) {
      return -1;
    } else {
      return 1;
    }
  }
}
